package br.com.agenda.negocio.entity;



import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;

public class Evento extends UnicastRemoteObject implements IEvento, Serializable {

	private static final long serialVersionUID = 7185241069091850056L;
	private String nomeEvento;
	private List<IUsuario> participantes = new ArrayList<IUsuario>();
	private Calendar data;
	private int participantesPendentes;
	
	public Evento(String nomeEvento) throws RemoteException {
		this.nomeEvento = nomeEvento;
	}

	@Override
	public String getNomeEvento() throws RemoteException {
		return nomeEvento;
	}
	
	@Override
	public void setNomeEvento(String nomeEvento) throws RemoteException {
		this.nomeEvento = nomeEvento;
	}

	@Override
	public void adicionarParticipante(IUsuario usua) throws RemoteException {
		participantes.add(usua);	
	}

	@Override
	public IUsuario localizarParticipante(String nome) throws RemoteException {
		for(IUsuario participante: participantes)
			if(participante.getNome().equals(nome)) return participante; 
		return null;
	}

	@Override
	public List<IUsuario> getParticipantes() throws RemoteException {
		return participantes;
	}

	public Calendar getData() throws RemoteException {
		return data;
	}

	public void setData(Calendar data) throws RemoteException {
		this.data = data;
	}

	public void adicionarParticipantes(List<IUsuario> convidados) throws RemoteException {
		participantes.addAll(convidados);
		
	}

	public void setParticipantesPendentes(int participantesPendentes)throws RemoteException {
		this.participantesPendentes = participantesPendentes;
	}

	public int getParticipantesPendentes() throws RemoteException{
		return participantesPendentes;
	}
	
	

	
	
}
